The present invention relates to the field of navigation positioning systems using signals from satellites and cellular networks. More particularly, the present invention relates to filters that are a part of such navigation systems.
In a global positioning system (GPS), a user""s position, velocity and time (PVT) are obtained from satellite-to-user ranges. (It is said that the user""s time is obtained to indicate that the time of transmission of the satellite-to-user range information, relative to the user""s time, is obtained from the range signal.) By making measurements to more than three satellites the user""s three-dimensional position can be estimated, together with the user""s (three-dimensional) velocity. The position estimate is processed in a navigation filter, which is an essential part of a stand-alone or network-assisted GPS receiver. A network-assisted GPS receiver is a GPS receiver that uses, for some of the filtering computation, computing facilities separate from the user, and in communication with the user""s GPS receiver through a network, such as a cellular (telecommunications) network (NW).
Besides using satellite-to-user ranges, a positioning system can also use range information provided by base stations of a cellular network, i.e. base station-to-user ranges. Cellular ranges are obtained differently than range information in the GPS system, and only three range measurements are required to produce a user position and velocity estimate using cellular ranges. At this time, positioning systems are not designed to use cellular range information, because cell identification reports are not yet included in signals from cellular base stations. However, the wideband code division multiple access (W-CDMA) system, now under development, already has the capability to provide cell identification and thus enable cellular positioning.
There are many ways to compute a user""s PVT from range measurements, but for combined GPS and cellular positioning (hybrid positioning), the well-known extended Kalman filter (EKF) is a suitable choice. An EKF, or a Kalman filter generally, uses a recursive algorithm that produces an estimate of the user""s PVT making use of the history of PVT measurements. A Kalman filter smoothes the sequence of measurements, so as to provide a user PVT estimate by filtering the measurements based on pre-defined states and models, and based on measurement noise.
The accuracy of the user PVT estimate obtained from the Kalman filter is dictated by the states and noise levels chosen for use with the filter. A drawback of a pure Kalman filter solution is that if the states are chosen poorly, the outcome of the Kalman filter (KF) will not be satisfactory. In such a case it is said that the filter is inconsistent. The states can be selected so as to provide too great a flexibility (number of states and corresponding derivatives is too large) or so as to provide too little flexibility (too few states are used).
It is hard to find a suitable set of states as well as a suitable number of states in the chosen set of states so as to provide satisfactory estimates in a large number of cases (applications). Usually, a KF-based navigation filter is tuned to a certain subset of all possible cases resulting in a sub-optimal solution for some cases outside of the chosen subset of cases. For example, a KF-based navigation filter designed and tuned for vehicles is not very suitable for pedestrian use or for aircraft positioning. It is consistent only for a limited set of cases.
What is needed is a way of solving the inconsistency problem of a KF-based positioning system, i.e., of avoiding the problem of having to tune such a positioning system to one particular subset of cases. Ideally, what is needed is a way of adapting the subset of cases to which a KF-based positioning system is tuned so as to maintain consistency even if the character of the motion of the object being tracked changes significantly, i.e., what is needed ideally is a way to make a tuned KF-based positioning system that is robust.
Accordingly, the present invention is a generalized positioning system for estimating the state of motion of an object, a corresponding filter, and a corresponding method, the generalized positioning system including: a measurement engine, responsive to range information provided by a source of range information from which a measurement of the state can be determined, for providing a succession of state measurements, each measurement corresponding to a different instant of time; a model selector and model bank for selecting at least one motion model for use in estimating the state for a segment of the motion of the object; and a filter, responsive to the succession of state measurements, and further responsive to a model mixing parameter and to the selected motion models, for determining a succession of multiple-model estimates of the state.
The filter is preferably a statistical filter, and the multiple-model state estimates are, preferably, as provided by the so-called interacting multiple model.
In another aspect of the invention, the generalized positioning system also includes: a weighted least squares filter, also responsive to the state measurements, for directly determining a succession of weighted least squares state estimates; and a consistency checker, responsive to the weighted least squares state estimates and to the multiple-model state estimates, for selecting either the weighted least squares state estimate for an instant of time or the multiple-model state estimate for the instant of time, based on the multiple-model state estimate as well as on previous multiple-model state estimates.
In a still further aspect of the invention, the source of range information is a cellular base station, and in a still further aspect of the invention, the source of range information is a satellite.
According to the method of the present invention, in estimating the state of motion of an object, the following steps are performed: acquiring a next state measurement in a succession of state measurements; selecting from a model bank (at least) two motion models for use in estimating the state for a segment of the motion of the object; determining a model mixing parameter for combining a next state estimate according to each of the two selected motion models; filtering each selected motion model to provide the next state estimate according to each of the two selected motion models based on the next state measurement; and combining the two next state estimates according to the model mixing parameter to provide a next multiple-model state estimate.
In a further aspect of the method of the invention, the following additional steps are performed: performing a weighted least squares filtering of the state measurements in parallel with the filtering of each selected motion model so as to directly determine a next weighted least squares state estimate from the next state measurement; and performing a consistency check, so as to be responsive to the next weighted least squares state estimate and to the next multiple-model state estimate, for selecting either the next weighted least squares state estimate or the next multiple-model state estimate, based on the multiple-model state estimate as well as on previous multiple-model state estimates.